2024 British Grand Prix¶

Hello managers and welcome to the Fantasy League report for the 2024 British Brand Prix. Silverstone, the home of Formula 1, the birthplace of the championship, the home of the Grand Prix Drivers Association, and perhaps one of the most iconic tracks on the modern day calendar. The British Grand Prix has been a staple of the F1 championship since its conception, and while the race has moved around some of the iconic tracks in Britain, Silverstone has rather become the most famous purpose-built track on the calendar. It's the track that has seen Michael Schumacher break his legs, Lewis Hamilton win the race on three wheels, Max Verstappen plough into the barrier in a 50g + crash, a leprechaun running up the hanger straight, and a huge number of memorable moments over the years. I believe I heard Crofty mention that nearly 90% of the track is spent on throttle, and yet the circuit always throws up some absolute brilliant races. So let's get into the report.

If you cast your mind back a year to the 2023 British Grand Prix, you might remember that a certain "fake" team and actors were on the grid for the first time for an up-coming film about the sport that we all hold so dear to our hearts. That's right, the first appearance of APX GP on the grid with two F2 cars designed and built by Mercedes to feature an F1-style body kit. The cars were allowed to take part in free practice 1, they were allowed to do filming laps throughout the weekend, and they were allowed to be on the grid and take the formation lap, something that no filming crew has ever been allowed to do. Since then, APX GP has appeared at a handful of Grand Prix weekends, and they've even been spotted at various tracks filming throughout the year. This weekend, however, they were getting their paddock shots in, with Brad Pitt appearing down the pit lane, paddock, and even in the interview pen. They also used this weekend to launch the teaser trailer for the F1 film, entitle "F1", which is due to be released next summer. I watched the trailer, and I have to be honest, I think they're going to butcher F1. The trailer starts with Brad explaining that he has to "do battle in the corners", which is just a little too "Hollywood" for my liking. Anyway, this isn't a moan about the trailer, this is a moan about the access they have been granted. It's all getting a bit too much. Spoilers for the race report, but Sergio Perez, Charles Leclerc, and Lando Norris were all having emotional moments in the interview pen after the race as Brad and his co-star Damsen Idris were doing their little bits of filming. This is, of course, to make the movie seem "more realistic" but it really detracts from the moment as you're watching these drivers, who have just spent 2 hours giving it their all, pour their heart out and try to hold it together after a disappointing weekend. Could they really not have waited to do this until after the real drivers had finished and just move some film crew in? Could they not have done this while the race was going on? Poor form indeed. Even Fernando Alonso expressed his views as he stared Brad down as he walked into the pen.

Adrian Newey, there's a name that's been talked about at nearly every race weekend this year, since the announcement of his departure from the Milton Keynes outfit earlier in 2024. If you can cast your mind back as far as May, and believe me I can't as so much has happened in the F1 world lately, the legendary designer announced he would be leaving Red Bull at the end of the season, a team he basically helped build, to take some well deserved rest. Well, no one believed him, and many assumed that Newey would be making a move to pastures new after he has served his gardening leave for a year. Just before the British Grand Prix, Newey announced that he will be making his final decisions very soon and that he would "probably go again" after his leave. Adrian stated that he would probably have made his mind up by the Autumn, which is actually not that far away. Current poles put Newey at Ferrari in 2026, the Italian outfit have had some major reshuffles in their design department lately, announcing several major players leaving the firm at the end of the year. In principle this would leave the door wide open for Newey to bring some people he can trust over with him to get the best out of that environment. We also know that Ferrari seem to be flush with cash at the moment thanks to some major new sponsors, and there is even a gap on the back of the car for another major sponsorship deal, should Newey require some extra "inspiration". Newey working with Hamilton and Ferrari would certainly be one of his dreams come true, but he has also spent a lot of time driving around in fancy Aston Martins lately, indicating that maybe he has had some "perks" to a new job? Who knows, it's likely to be those two as I don't see him making the jump to Mercedes or McLaren any time soon, and it's unlikely that the other teams could afford him, though perhaps Audi are thinking of signing him up to their master takeover plan in 2026.

Haas made a new signing this week too, the American team have been showing some good signs of a turn in performance lately and are using that to sign some new talent for the 2025 season. Up until this week, all we knew about the Haas lineup for the future is that it would not include Nico Hulkenberg, as the German has his sights set on Audi in 2026. It's unlikely that Haas will sign Magnussen given his recent costing to the team in terms of damage, but it could happen and I could see that happening. In the meantime, it seems Haas are investing in, not only their future, but the future of their parent team, Ferrari. Ollie Bearman, the rookie Brit who stood in for Carlos Sainz in Saudi Arabia is their latest signing, and why not take the risk? Ollie has shown that he clearly has the skill to drive an F1 car at the sharp end, and he has shown that he has the cool head required at a team like Haas, not to bin it in the wall trying to overtake a Kick Sauber. Ollie will be the fourth British driver on the grid for next season, with all the current crop signing further contracts. That means that 1/5 of the drivers on the grid, at least, will be British. It's unlikely that more will join the frey, unless Williams decide to sign their F2 driver.

After the internet imploded into a 2021-like drama-fuelled crime-scene-investigation war between the Lando Norris fans and the Max Verstappen army since the incident in Austria, Lando's father was caught liking a video on X of the 2021 Copse-corner crash between Verstappen and Hamilton, in which Lewis' Mercedes had been replaced by the 2024 McLaren car. Many thought that this was inappropriate, and while Lando hasn't directly addressed this issue, he has certainly addressed the tension between the two. Max first stated that he and Lando were probably both to blame for the incidents, stating that neither were driving in a sporting manner and that it was a shame that their battle was cut short by such a clumsy incident. Lando made his apology in the pre-race press conference, saying that some of the things he had said directly after the race were adrenaline-fuelled and probably weren't the best things to say. He reiterated that he and Max are friends and that they want to make sure that something like this doesn't happen again in the future as he really enjoyed the battle. It does seem that Norris is perhaps not quite ready to be fighting at the sharp end of a championship, especially against Verstappen, who we all know doesn't hold back on track or in the press. Lando is still fairly fresh at all this, and with time I can see their friendship deteriorating rapidly.

Two drivers that are all over the media lately are Daniel Ricciardo and Sergio Perez. It's no secret that Perez has been under-performing lately, the Mexican driver has struggled on many occasion to match his successful teammate, or even make it through to the second part of qualifying. Meanwhile, the Aussie has been making steady progress, when the car allows it, and showing the consistency that drew Red Bull to him in the first place. In fact, taking Verstappen out of it, Ricciardo has been the best Red Bull driver on track in the last few races, beating Yuki on multiple occasions and even out-performing Perez in qualifying and the race. It's been leaked, by some Red Bull fan page that both drivers have performance clauses in their contracts. Now, I am usually suspicious of these "leaks" because they are from fan accounts, but most of the Red Bull leaks have been true as they usually originate from a Helmut Marko interview for a European news broadcaster. If it is true, they say that Perez and Ricciardo will be switched this year to determine which driver should partner Verstappen next year. Lawson seems to be getting ignored in this particular battle, but it's likely that the Kiwi could be airdropped into that RB for 2025 leaving Perez without a seat. Sergio is, of course, signed on for 2025 in the Red Bull seat, but we all know how fickle those contracts can be.

Finally, the FIA came out this week to say that they should have awarded Max a black and white flag after the first incident of moving under breaking in Austria. McLaren team boss, Andrea Stella, has been fairly vocal in the media this week about blaming the FIA for allowing Max to race the way he has raced for too long without penalty, and admitting this is just adding fuel to the fire. Whether you think Max was at fault, or not, and this league owner does not, he does have a point when the FIA bring out news like this. Admitting that they think they should have given the Dutchman a penalty is essentially saying that they also think Max was at fault for the incident, in other words. The FIA needs to come up with a more consistent way of applying penalties if this sport is ever going to be able to survive minor incidents like the Max-Lando one in Austria without descending into chaos online. We've seen examples this year of penalties applied in a harsh way, such as the Alonso-Sainz China penalty, and it really does cast a nasty shadow over a pretty exciting sport. The FIA don't seem to be listening to the teams, fans, or drivers at all on this one, and I fear that will only bring further chaos from the fans when things like this happen.

In [ ]:
import os
import subprocess
import src.dataIO as io
import src.webDataIO as wio

from pathlib import Path

year = 2024
race = 'Great Britain'

Grand Prix Report¶

The weather had its part to play in free practice at Silverstone, in a very British-dominated weekend. Lando Norris set the fastest times in free practice 1 and 2, but it was George Russell in the Mercedes taking the fastest lap times in free practice 3 in rainy conditions. It seems that the two cars are showing their traits here, with the McLaren better in the dry as it is far softer on the tyres and suspension and can take the faster corners without over-heating the tyres, whereas the Mercedes seems stiffer and thus better in the rain where the car needs heat in the tyres to apply extra grip. This was a trait we saw in the race, and something I will get into shortly.

Sprint Qualifying¶

No Sprint Qualifying.

In [ ]:
#wio.outputs_sq_data(
#    year=year,
#    race=race)

Sprint Race¶

No Sprint Race.

In [ ]:
#wio.outputs_sprint_data(
#    year=year,
#    race=race)

Qualifying Report¶

Pierre Gasly went into qualifying with a 50-place grid penalty hanging over him for numerous engine component changes prior to the Grand Prix weekend that go outside of his allowance for the season. The Frenchman decided to go out in the early part of qualifying as the track was wet, but didn't go out once the track turned dry as there was very little point in completing more laps and putting more strain on that engine. After a strong turn of performance for Alpine of late, it was a bit sad to see Gasly stuck at the back of the grid all weekend long. He was joined by his teammate, Esteban Ocon, who only managed to qualify in eighteenth. The first part of qualifying was interrupted, however, by a red flag. The red flag came out just as drivers were gearing up for the shift from wet tyres to dry, just as qualifying was bout to get really exciting. No prizes for guessing who it was, yep that's right Sergio Perez. The Red Bull man span his car backwards into the gravel trap on the outside of Copse corner on his warm up lap. The incident looked very clumsy as he got a snap going into the usually-fast corner, ending up on the outside of the track where it was very wet and spinning slowly into the gravel. He span up the wheels and dug himself a nice hole. He asked to be pushed out of the gravel by the marshals, but was told that this would mean disqualification from qualifying. He started nineteenth. These three were joined by Valtteri Bottas and Kevin Magnussen, neither able to find that little bit extra they needed for promotion in a competitive session.

The disappointment will just not end for Charles Leclerc. After a poor Austria weekend, the Ferrari man needed a simple race weekend, nothing major. What he did not need was to get eliminated in the second part of qualifying because of generally poor pace. He was joined by Logan Sargeant in twelfth, who has suddenly found quite the turn of speed since it was announced that his contract would not be renewed for 2025. They were joined by Guanyu Zhou, who is also not a regular in Q2, and the RB pair of Yuki Tsunoda and Daniel Ricciardo, the latter out-performed by his junior teammate.

That left both Mercedes drivers, both McLaren drivers, Sainz, Verstappen, both Aston Martin drivers, Nico Hulkenberg, and Alex Albon fighting it out at the front. It was first blood to Verstappen, but both McLarens followed up with significantly faster laps, as the Papaya rocket ship looks so good in qualifying at the moment. But, that wasn't all as the Mercedes boys had a response as the pair disrupted the top and Russell put it on provisional pole. In the final round of flying laps Verstappen simply didn't have the balance in the car that we have become so used to, the Dutchman could only manage fourth on the grid as he was outperformed by all of the Brits. George put it on pole, one-tenth ahead of his teammate Lewis Hamilton in second, and Lando Norris in third a further 4-hundredths of a second behind. I believe this is the first time since 1968 that three British drivers have been first, second, and third in qualifying, the South African Grand Prix of that year being the only time this has ever happened before. It was, indeed, the first time three Brits had lined up at the front of the British Grand Prix ever, quite the historical moment for sure.

In [ ]:
wio.outputs_qualifying_data(
    year=year,
    race=race)

Race Report¶

The start of the race was dry, but the looming threat of rain was never far away, and even we could see the thick clouds coming in the distance on nearly every camera shot in sector one. It seemed advantage Mercedes to begin with as the pair pulled away from the field. Max Verstappen quickly dispatched of the McLaren of Lando Norris as the orange car seems to take a while to heat up those tyres and get going in a stint, but we know that they look after their tyres well and come back strong in the later part of the stint. Both Williams made contact with each other in the first couple of corners as they were avoiding Fernando Alonso and Nico Hulkenberg scrapping over the lower points places in the early part of the Grand Prix. Charles Leclerc was on damage control as he clawed his way back through the field to join the back of the top six chasing each other into the rainy portion of the Grand Prix. Just before the rain came, the McLarens seemed to switch on, quickly dispatching of the reigning world champion and hunting down the Mercedes, they really do seem to have that tyre wear sorted on that car, much like Max did last year in the all-dominant Red Bull. It's not really the quickest car on single-lap performance or off the line, but once it gets going, it's hard to beat. As the rain started to come down, all of the top six bunched up and started making some mistakes, with both Mercedes cars running off at turn 1 as Lando Norris swooped through to take the lead of the Grand Prix from his teammate Oscar Piastri. Here, however, is where things started to go wrong for the Papaya cars, as well as some of the other top cars further down the field.

The rain seemed to come in two stages, a light shower at the start of the race, and then some much heavier rain a little later. During the first phase, it was clear that the rain would get worse, but it wasn't necessarily clear that it wouldn't get a little better first. Ferrari and Red Bull decided to pit one of their drivers for intermediates. Sergio Perez and Charles Leclerc pitted for the intermediate tyre far too early, and plummeted through the field, even getting lapped by their teammates before they even pitted for the intermediates themselves. The pit lane at Silverstone is one of the longest on the calendar and has one of the lowest speeds due to an incident back in the early 2010s during a test session. That means that the pitlane loss is huge, so neither decided to pit again to put on some dry tyres and try to use their pace to gain back some time. Instead they both stayed out on their worn intermediates, deteriorating rapidly until they had to pit again for a fresh set when the rain really came down. Perez and Leclerc's race never really recovered from there as they were always chasing the weather conditions and got bogged down in the midfield. Charles finished in fourteenth and Sergio in seventeenth and 2 laps down. Charles has since come out in the media saying he doesn't know what to do anymore as his luck, and Ferrari strategy, just seems to continuously disappoint and put him in unnecessarily difficult situations. To be fair, he has a point, since he won the Monaco Grand Prix, Leclerc's results have been nothing short of a disaster.

Before the second-pocket of rain, it seemed that Piastri had the advantage over his more experienced teammate, but just as the switch to intermediates was on, Mercedes double-stacked, Norris boxed, Verstappen and Sainz pitted, but Oscar Piastri did not. McLaren decided not to double-stack in the pitlane and the chasing five almost caught him up on his in-lap. It's estimated that Oscar lost about 19 seconds on that lap alone, and finished just 12 seconds behind the race leader in the end. Could he have won the British Grand Prix if McLaren didn't throw it away? Remember that, because we're going to talk about what they did to Lando soon. Pole-sitter George Russell soon had to retire the car due to a water pressure issue, the Mercedes man looked very dejected as he returned to the garage after what has been a super successful run by the Mercedes team of late. This essentially left Lando, Lewis, and Max battling it out at the front as Sainz didn't really have the pace to keep up and Oscar had been artificially put behind the pack by poor strategy.

But then! The complexion of the race changed once again as the track began to dry and Lewis and Max began to catch Lando at the front. The Dutchman pitted for the hard tyre, the 7-time champion pitted for softs, and Lando waited an extra lap. At this moment, McLaren messed up big time. Instead of coming over the radio with a decision based on all the information they have available to them, much like we have seen Mercedes and Red Bull do for years, they came over the radio asking Lando what he wanted to do based on what Lewis and Max had done. Thinking he was fighting Lewis for the win, Lando chose the used soft tyre, despite having a brand-new medium tyre for just this scenario. Had he switched to the medium, it's highly likely that Lando would have won the race, given the better tyre life than Lewis' soft and the increased pace compared to Max's hards. However, he just wasn't able to hold on to that soft compound and eventually succumbed to the reigning champion chasing him down on the much more durable compound of tyre. This marks the third or fourth race since Miami that McLaren have thrown away. The Dutchman went chasing after his old rival in the dying stages but just didn't have enough. Lewis Hamilton took the victory marking several historical moments. Here they are:

  • First driver to win a race after their 300th start.
  • Oldest winner of the 21st Century.
  • Longest gap between first and last wins.
  • Most consecutive podiums at a single circuit.
  • Most wins at a single circuit.
  • Most podiums at a single circuit.
  • Most podiums.
  • Most race wins.

The latter of which, he already held but has since extended. It's been a while since Lewis won a race, not the three years that keeps getting thrown around the place as Saudi was at the end of 2021 and we are still quite early in the season for 2024, but 2 and a half years is still quite a while. For instance, some of the people in this league have had children who are not far from starting school since Lewis last won a race. So that's pretty impressive that he still has it in him to win a race. It was a solid performance, and I know many of you are waiting for me to mock him, but I don't think I can. He didn't put a foot wrong all weekend. It is quite funny that he has signed for Ferrari given their recent run, but he must see something in them that we can't currently.

A moment of praise, please, for Nico Hulkenberg, who managed to hold off both Aston Martins, Alex Albon, and Yuki Tsunoda behind to finish in a consecutive sixth place. That marks 20 points for Haas in two races, and at that level that is a huge swing of points. He has outscored Sergio Perez in the last three races, which is incredible. Logan Sargeant missed out on points by 9 seconds behind the RB ahead, managing not only to stay on the lead lap, but also to beat the Haas of Kevin Magnussen. The Haas looks to be one of the better Ferrari-powered cars at the moment as they have got their upgrades spot on. It bodes well for the future of that team for sure. Pierre Gasly was the only other DNF of the race, the Frenchman going out early in the race due to a gearbox issue, probably the only part of that car they didn't change going into the weekend. It wasn't sunshine and rainbows for his teammate either, Ocon only able to finish in sixteenth place and 2 laps down on Lewis. Still, he beat Perez.

In [ ]:
wio.outputs_race_result(
    year=year,
    race=race)

Fastest Lap¶

Carlos Sainz took the fastest lap of the race this week in the dying stages of the Grand Prix. The Spaniard put in an impressive 1:28.293, some half a second faster than McLaren's Oscar Piastri in second. I believe Ferrari put Sainz on the softs at the end, which helped.

In [ ]:
wio.outputs_fastest_lap(
    year=year,
    race=race)

Fantasy League Scores¶

Lineup Scores¶

Ok I think I have waffled enough, let's see what this race has done to the fantasy league standings. First let's begin with the driver/team points for the grid. The data you see below are the current total points and values for each driver and team. Values are taken going into the race and updated for next race after I submit the report.

In [ ]:
weekly_scores = {
    "Name": ["Points", "Value"],
    "Race": [f'{race}'],
    "Ocon": [55, 10.0],
    "Gasly": [40, 10.1],
    "Stroll": [72, 14.6],
    "Alonso": [111, 16.5],
    "Leclerc": [284, 23.3],
    "Sainz": [262, 21.9],
    "Bearman": ["N/A", "N/A"],
    "Magnussen": [74, 10.3],
    "Hulkenberg": [74, 9.2],
    "Bottas": [32, 7.8],
    "Guanyu": [46, 7.7],
    "Norris": [313, 26.0],
    "Piastri": [246, 22.0],
    "Hamilton": [221, 21.8],
    "Russell": [209, 21.4],
    "Tsunoda": [68, 10.0],
    "Ricciardo": [31, 10.4],
    "Verstappen": [393, 30.9],
    "Perez": [204, 22.6],
    "Albon": [6, 8.5],
    "Sargeant": [5, 5.3],
    "Alpine": [130, 10.1],
    "Aston Martin": [252, 15.3],
    "Ferrari": [686, 23.0],
    "Haas": [185, 9.9],
    "Kick Sauber": [85, 7.1],
    "McLaren": [625, 25.7],
    "Mercedes": [545, 22.5],
    "RB": [153, 10.2],
    "Red Bull": [817, 28.9],
    "Williams": [31, 6.1]}
root = Path().absolute()
if Path(f'{root}/Data/{year}/Lineup/{race}_Results.json').is_file():
    pass
else:
    io.save_json_dicts(
        out_path=Path(f'{root}/Data/{year}/Lineup_Weekly.json'),
        dictionary=weekly_scores)
subprocess.run(["python", "lineup.py", f'{year}'])
Out[ ]:
CompletedProcess(args=['python', 'lineup.py', '2024'], returncode=0)

It's a second week for Mercedes in the drivers' standings this week with their other driver, Lewis Hamilton, the race winner brings home a whopping 47 points, nearly double that of Max Verstappen in second who only scrapes 29 points. Sainz is in a close third with 28 points, followed by the McLaren pairing of Lando Norris and Oscar Piastri who bring in 26 and 23 points, respectively. Mid-field superhero, Nico Hulkenberg, rounds out the top five this week with 14 points. Pierre Gasly has, quite unsurprisingly, brought home the lowest score with that lap 1 retirement, the Frenchman takes a -20 point total away with him this week. George Russell joins him down in the dumps with his retirement meaning he only scores -9 points. Guanyu Zhou is the last of the negative drivers with -2. Charles Leclerc's poor run of form continues, and his points tally this week is only 2. Logan Sargeant and Valtteri Bottas round out the bottom five with a pair of 4s.

With Ferrari, Red Bull, and Mercedes having only one car fighting at the front, that left the door open for McLaren to take the top step this week with 59 points. Mind you, Red Bull are pretty close behind in second with 55. Mercedes pip Ferrari to third place this week with 38 points. Alpine are your worst team of the week with -12 points, followed by Kick Sauber with 3 and Williams with 15.

In a weird twist, Max continues to extend his lead at the top, while the other drivers continue to take points away from each other. Max now has 393 points, ahead of Lando Norris in second with 313 points total. The Ferrari duo are next with Leclerc ahead of Sainz, they have 284 and 262 points between them. Lewis Hamilton leaps up into fifth with that victory, the 7-time champion now has 221 points. Logan Sargeant is now the driver at the bottom of the table, after being out-scored by his teammate, the pair sit at the bottom with 5 and 6 points, respectively. RB's Daniel Ricciardo is in third with 31 points, just 1 behind Kick's Valtteri Bottas with 32. Pierre Gasly comes tumbling down the order, he now sits in fifth at the bottom with 40 points.

Well Red Bull are still pretty comfortable at the top of the table with 817 points, another poor week for Ferrari mean they are a distant second with 686 points, and McLaren are reeling in the top two with 625 points. Williams are still at the bottom, but this is a reasonable week for them, they now sit on 31 points. Kick Sauber are next, being outscored by Williams this week, they have 85 points. Alpine drop down the order to round out the bottom three, the French outfit now only have 130 points.

In [ ]:
points_files = [
    'Driver_Points_Bar.png',
    'Team_Points_Bar.png',
    'Driver_Sum Points.png',
    'Team_Sum Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [Path(f'{directory_path}/{race}_{file}') for file in points_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]

Will Max Verstappen break through the $31 million mark before the summer break? The reigning champion was worth $30.9 going into the British Grand Prix. Lando Norris actually holds station with inflation in second place, the British driver is still worth $26.0 to you. Charles Leclerc's value continues to rise despite the poor performances, he's now $23.3. Sergio Perez has weirdly also increased in value up to $22.6, and Oscar Piastri jumps ahead of his nearest rivals with a value of $22.0. Your cheapest driver is still Logan Sargeant, the American driver is worth $5.3 to you. He's cheapest by far as the Kick pair are next with Guanyu Zhou and Valtteri Bottas worth $7.7 and $7.8, respectively. Alex Albon increases to $8.5, and Nico Hulkenberg rounds out the cheapest five with a value of $9.2.

Red Bull's value seems to have halted around the $28.9 mark, and the same goes for McLaren with a value of $25.7. Ferrari round out the most expensive three teams with a value of $23.0. Williams are your cheapest team again with a value of $6.1. They're behind Kick Sauber and Haas who are valued at $7.1 and $9.9, respectively.

All values given in millions of dollars. Values representative of the pre-race value, i.e., how much would it cost to have them in your team for the race.

In [ ]:
average_files = [
    'Driver_Values_Bar.png',
    'Team_Values_Bar.png',
    'Driver_Average Points.png',
    'Team_Average Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in average_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]

Your best value for money this week was none other than Lewis Hamilton. The Mercedes man was one of the cheapest of the two five or six drivers going into the race weekend and managed to bring home the biggest points haul, he has a points per value of 2.16 ppm. He's ahead of super-sub Nico Hulkenberg who has typically been your best value for money with 1.51 ppm. Sainz is in third with 1.28 ppm, and Kevin Magnussen is in fourth with 1.07 ppm. Oscar Piastri just beats his teammate to the top five with 1.05 ppm. Your worst choice of the week was Pierre Gasly with -1.98 ppm. He's leaps ahead of George Russel with -0.42 ppm and Guanyu Zhou with -0.26 ppm. Charles Leclerc puts in his poor performance with 0.09 ppm, and Sergio Perez rounds out the bottom five with 0.27 ppm.

Haas continues to be your best value for money, topping the table with 3.03 ppm ahead of Williams with 2.46 ppm. McLaren round out the top three with 2.3 ppm. Alpine return to form with a points per value of -1.19 ppm at the bottom of the table. Not much better for Kick Sauber who bring home a 0.42 ppm. But shockingly, Ferrari round out the bottom three with 1.52 ppm.

ppm = points per million dollars.

In [ ]:
ppv_files = [
    'Driver_Points Per Value_Bar.png',
    'Team_Points Per Value_Bar.png',
    'Driver_Average Points Per Value.png',
    'Team_Average Points Per Value.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [Path(f'{directory_path}/{race}_{file}') for file in ppv_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]
In [ ]:
subprocess.run(["python", "manager.py", f'{year}'])
Out[ ]:
CompletedProcess(args=['python', 'manager.py', '2024'], returncode=0)

Manager Scores¶

So let's take a look at what the scores are for this week. It's a white washing for Cameron who takes first and second this week with Josh's Hairy Balls and Matty's Snipped Balled, with the two teams bringing in 247 and 201 points, respectively. He's tied for second with Pete and Lightning McCars with 201 points. In third place we have Andrew and I Simp For Zak Brown with 190 points. In fourth place we have Val and Make A U Turn with 183 points, just beating out James and Bwoah OnlyFans VIP Racing with 181. At the slow end, we have Charlie and Lee Carvallo's F1 Challen with 21 points, just beating Will and The Big One to that top step by 1 point, they bring home 22 points. Then it's Joe and alpine sandbags with 28 points, followed by Andrew and sBinnala Yacht Club with 29 points. Rounding out the bottom five is championship leader Patrick with Racing No Points, coming in with 40 points.

It is still Stefanus at the top of the leader board with Haryanto, Syahrul, and now Gelael returning to the podium places with 2698, 2469, and 2401 points, respectively. Patrick and Johnny UniHaas slip down the order a little this week in fourth with 2396 points, and Toby rounds out the top five with Hesketh 2.1 and 2232 points. Patrick is still out front at the bottom end, their team Racing No Points sitting comfortably on 416 points ahead of Will and The Big One with 440 points. They're both a little ahead of Joe and alpine sandbags in third with 471 points, and then it's Charlie with Lee Carvallo's F1 Challen in fourth with 494 points. Stuart and Ferrari Strategists round out the bottom five with 516 points.

Our biggest winner this week is, without a doubt, Cameron and Josh's Hairy Balls, shooting 9 places up the order. In second it's Pete and Lightning McCars jumping 6 places up the grid, and Cameron's other team Matty's Snipped Balls jumps up 5 places. A poor week from Phil this week as he is our biggest loser, A Little Team and BMW Motorrad both dropping 5 places along with Sam CJ and Mirror, Signal, Manoeuvre and Sebastian with Telefonica Minardi Doimo both losing 5 places. In second it's Josh and Siemens McLaren West dropping four places, followed by a quintet of Phil, Jo, Sebastian, Madlen, and Val and their teams BMW Should Be Here, Ghost In The Machine, JPS Lotus Renault, Les Eclairs, and My Fav'rit Colour Is Blue all losing 3 places. That means Phil lost 13 places this week, poor form from a former champion.

In [ ]:
team_files = [
    'LeagueTeams_Points_Bar.png',
    'LeagueTeams_Sum Points_Bar.png',
    'LeagueTeams_Sum Points.png',
    'LeagueTeams_PositionsGained_Bar.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in team_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]

We have a new contender for most expensive team on the grid this week, Madlen and Les Eclairs dethrone Bwoah industries to take the top step with a value of $123.2, Bwoah OnlyFans VIP Racing take a little hit after their expensive trip to London recently with a value of $122.8. Sam CJ and Mirror, Signal, Manoeuvre are in third with a value of $121.1. Our cheapest team on the gird is Patrick with Racing No Points, they are certainly fighting on a shoe string with a value of $52.9. Will and The Big One and Stuart and Ferrari Strategists are also down there on peanuts with values of $53.2 and $54.4, respectively. All values are given in millions.

Sometimes it's not about the size of the pot, but what you can do with it, and this week Cameron is showing us all how it's done. His team Josh's Hairy Balls tops the best value for money chart this week with a points per value of 2.47 ppm, ahead of his other team Matty's Snipped Balls with 1.91 ppm. Pete is next with Lightning McCars and a points per value of 1.75 ppm, ahead of Andrew and I Simp For Zak Brown with 1.72 ppm. Val rounds out the top five with Make A U Turn and 1.69 ppm. Charlie and Lee Carvallo's F1 Challen just throwing money away at the bottom of the stack with a 0.35 ppm. Phil is next with A Little Team, they're coming in with 0.39 ppm. Then it's Will in third with The Big One and a points per value of 0.41 ppm. Andrew and Joe round out the bottom five with their teams sBinnala Yacht club and alpine sandbags bringing home 0.46 and 0.49 ppm, respectively. Points per million (ppm).

In [ ]:
team_files = [
    'LeagueTeams_Values_Bar.png',
    'LeagueTeams_Sum Values.png',
    'LeagueTeams_Points Per Value_Bar.png',
    'LeagueTeams_Average Points Per Value.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in team_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]

Stefanus sits at the top of the managerial scores, with their three teams coming in with 7568 points ahead of Sebastian and Josh with 6148 and 6119 points, respectively. It's Cameron in fourth place with their teams scoring a combined 5967 points, and impressively Pete rounds out the top five with their three teams scoring 5926 points. Our lowest scoring managers are the one-team heroes Chloe, Tim, Sam, and Toby, scoring 1589, 1974, 2188, and 2232 respectively. In fifth place at the bottom, we have Patrick with 2812 points.

Manager of the week this week is Cameron who scored an average of 194.67 points. Pete is a distant second with 167 points and Tim and Chloe are in third with 164 points. Your worst manager of the week is Phil with an average score of 80.67, just behind Patrick with 91 and Charlie with 98.67 points.

In [ ]:
manager_files = [
    'LeagueManagers_Sum Points_Bar.png',
    'LeagueManagers_Sum Points.png',
    'LeagueManagers_Average Points_Bar.png',
    'LeagueManagers_Sum Average Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in manager_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]

Manager of the week is Cameron with a points per value of 1.84 ppm, leaps ahead of Tim and Chloe in second with 1.51 ppm and Pete in third with 1.47 ppm. Worst manager of the week is Phil with a points per value of 0.71 ppm. They're joined by Sam-CJ with 0.9 ppm and Josh with 0.93 ppm.

In [ ]:
manager_files = [
    'LeagueManagers_Sum Values.png',
    'LeagueManagers_Average Values_Bar.png',
    'LeagueManagers_Points Per Value_Bar.png',
    'LeagueManagers_Average Points Per Value.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in manager_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None]

With the top three or four drivers changing every week, it seems you guys can't decide who to put in your team. Topping the driver selections this week are Yuki Tsunoda and Nico Hulkenberg with 28 of 65 selections. Pierre Gasly and Alex Albon are next with 25 selections, followed by Charles Leclerc in third with 24. Max Verstappen and Lando Norris are tied for fourth with 23 selections, and Logan Sargeant and Kevin Magnussen round out the top five with a brace of 20 selections. Oliver Bearman still on the grid, now with just 1 selections only. Then it's race winner Lewis Hamilton and constant disappointment Sergio Perez, tying with Lance Stroll, on 7 selections. Carlos Sainz is in third with only 8 selections, followed by Esteban Ocon, Oscar Piastri, and George Russel with 10 selections each. Guanyu Zhou and Fernando Alonso round out the bottom five with 13 selections, and that is well over half the grid in just the top and bottom five places, so it really is all tied up.

Ferrari are just at the top of most selected teams this week with 22 of 65 uses for Silverstone. McLaren are gaining, now 19 selections, while it's Haas in third with 18 selections, they've jumped out of nowhere. You've all dropped Aston Martin, who now sit at the bottom with only 8 selections, behind Red Bull who are clearly too expensive for the risk with 9 selections. Williams, RB, and Kick Sauber round out the bottom three with 10 selections each.

Max Verstappen continues his reign at the top of the DRS Boost count with 22 uses this week, he's ahead of Norris with 18, so some of you are switching over to the Papaya team. Charles Leclerc rounds out the top three with 7 selections. We had 1 Extra DRS token this week, and it went to Lando Norris. We also had 3 No Negative Tokens, 2 Wildcards, and a Limitless token, most of which went to Cameron who used a bunch of tokens this week.

In [ ]:
count_files = [
    'LeagueCounts_Driver_Bar.png',
    'LeagueCounts_Constructor_Bar.png',
    'LeagueCounts_DRS Boost_Bar.png',
    'LeagueCounts_Extra DRS_Bar.png',
    'LeagueCounts_Perks_Bar.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in count_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None, None]
In [ ]:
count_files = [
    'LeagueSumCounts_Driver.png',
    'LeagueSumCounts_Constructor.png',
    'LeagueSumCounts_DRS Boost.png',
    'LeagueSumCounts_Extra DRS.png',
    'LeagueSumCounts_Perks.png']
directory_path = Path(f'{root}/Data/{year}/Figures/{race}')
file_paths = [
    Path(f'{directory_path}/{race}_{file}') for file in count_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None, None, None]

For more figures, please see the Facebook group album.

In [ ]:
subprocess.run(["python", "league_prizes.py", f'{year}'])
Out[ ]:
CompletedProcess(args=['python', 'league_prizes.py', '2024'], returncode=0)

Prizes¶

Great Britain marks the fifth race in The Continental Prize for the 2024 season. We now only have Monza and Mexico left to go on that one, so still some time to wait. Stefanus leads the way with Haryanto and 1032 points, ahead of Jake and One Red Bull Car & Gasly with 905 points. Matty is in third with The Lizard Queen and 880 points, followed by James and Bwoah OnlyFans VIP Racing with 859. Rounding out the top five is Stefanus with Syahrul and 854 points. There's some way to go on this and many of these managers could change their team philosophy by the time we get to the last two races.

Hungary is next, which is a spot prize for the lowest possible score, called "Bottas Bowling".

In [ ]:
directory_path = Path(f'{root}/Data/{year}/Figures/Prizes')
file_paths = [
    Path(f'{directory_path}/{file}') for file in
    os.listdir(directory_path) if f'{race}' in file]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None]

F1 Play¶

Our weekly winner in the F1 Play League this week was Stuart with a 3/10 predictions correct. Tim was tied first with 3/10, with Josh and Matty tied for last with only 1/10.

That takes the scores to:

Stuart - 31

Josh - 34

Matty - 16

Tim - 35

In [ ]:
F1_play = {
    "Stuart S": [3, 5, 2, 4, 0, 2, 0, 3, 5, 4, 0, 3],
    "Matty J": [2, 2, 0, 0, 3, 3, 0, 2, 3, 0, 0, 1],
    "Josh M": [2, 3, 2, 6, 3, 3, 3, 2, 7, 0, 2, 1],
    "Tim W": [0, 3, 3, 0, 2, 3, 4, 4, 2, 7, 4, 3]}
io.save_json_dicts(
    out_path=Path(f'{root}/Data/{year}/F1_Play.json'),
    dictionary=F1_play)
subprocess.run(["python", "F1_play.py", f'{year}'])
points_files = [
    'Points.png',
    'Sum Points.png',
    'Average Points.png']
directory_path = Path(f'{root}/Data/{year}/Figures/F1_Play')
file_paths = [Path(f'{directory_path}/{race}_F1Play_{file}') for file in points_files]
[io.display_img(file_path=path, width=1200, height=720) for path in file_paths]
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
Out[ ]:
[None, None, None]

Next Up¶

Next up is Hungary, a Monaco without the walls. It's a normal race weekend with a lowest score spot prize.